﻿// ----------------------------------------------------------------------------
//  Copyright (C) 成都联宇创新科技有限公司 版权所有。 
//      
//  文件名：LightWorkModule.cs
//  文件功能描述：
//  创建标识：骆智慧 2016/03/04 00:03
//     
//  修改标识：骆智慧  2016/03/10/06:40
//  修改描述：
//  ----------------------------------------------------------------------------

#region 导入名称空间

using System;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Web;
using Autofac;
using Module = Autofac.Module;

#endregion

namespace LightWork
{
    /// <summary>
    /// 用于Autofac 自动装配的模块
    /// </summary>
    public class LightWorkModule : Module
    {
        protected override void Load(ContainerBuilder builder)
        {
            var baseDirectory = AppDomain.CurrentDomain.BaseDirectory;
            if (HttpContext.Current != null)
                baseDirectory = $"{baseDirectory}bin";
            var assemblies = Directory.GetFiles(baseDirectory)
                .Where(file => new FileInfo(file).Extension.ToLower() == ".dll")
                .Select(Assembly.LoadFrom).ToArray();
            builder.RegisterAssemblyModules<AutomaticModule>(assemblies);
        }
    }
}